package com.ruoyi.lxy.domain.bo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 时间段业务对象 t_time
 *
 * @author ruoyi
 * @date 2023-08-24
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class TTimeBo extends BaseEntity {

    /**
     * 时间段表
     */
    @NotNull(message = "时间段表不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 路线id
     */
    @NotNull(message = "路线id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long routeId;
    private String route;
    /**
     * 开始日期
     */
    @NotNull(message = "开始日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String startTime;

    /**
     * 结束日期
     */
    @NotNull(message = "结束日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String endTime;

    /**
     * 补报日期
     */
    @TableField(exist = false)
    private Date reselectStart;


    @TableField(exist = false)
    private Date reselectEnd;

    /**
     * 备注
     */
    private String remark;

    /**
     * 人数上限
     */
    @NotNull(message = "人数上限不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long max;

    /**
     * 已选人数
     */
    @NotNull(message = "已选人数不能为空", groups = { EditGroup.class })
    private Long count;

    /**
     * 职工上限
     */
    @NotNull(message = "职工上限不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long staffMax;

    /**
     * 已选职工人数
     */
    @NotNull(message = "已选职工人数不能为空", groups = { EditGroup.class })
    private Long staffCount;

    /**
     * 是否成团，默认0未成团
     */
    @NotNull(message = "是否成团，默认0未成团不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long canGo;

    /**
     * 状态,0无效,1可报名,2可补报
     */
    // @NotNull(message = "状态,0无效,1可报名,2可补报不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long status;

//    /**
//     * 查询项目id
//     */
//    private Long projectId;
    /**
     * 查询路线ids
     */
    private List<Long> routeIds;
}
